#ifndef _WX_FONTENC_H_
#define _WX_FONTENC_H_

// font encodings
enum wxFontEncoding {
  wxFONTENCODING_SYSTEM = -1,     // system default
  wxFONTENCODING_DEFAULT,         // current default encoding

  // ISO8859 standard defines a number of single-byte charsets
  wxFONTENCODING_ISO8859_1,       // West European (Latin1)
  wxFONTENCODING_ISO8859_2,       // Central and East European (Latin2)
  wxFONTENCODING_ISO8859_3,       // Esperanto (Latin3)
  wxFONTENCODING_ISO8859_4,       // Baltic (old) (Latin4)
  wxFONTENCODING_ISO8859_5,       // Cyrillic
  wxFONTENCODING_ISO8859_6,       // Arabic
  wxFONTENCODING_ISO8859_7,       // Greek
  wxFONTENCODING_ISO8859_8,       // Hebrew
  wxFONTENCODING_ISO8859_9,       // Turkish (Latin5)
  wxFONTENCODING_ISO8859_10,      // Variation of Latin4 (Latin6)
  wxFONTENCODING_ISO8859_11,      // Thai
  wxFONTENCODING_ISO8859_12,      // doesn't exist currently, but put it
  // here anyhow to make all ISO8859
  // consecutive numbers
  wxFONTENCODING_ISO8859_13,      // Baltic (Latin7)
  wxFONTENCODING_ISO8859_14,      // Latin8
  wxFONTENCODING_ISO8859_15,      // Latin9 (a.k.a. Latin0, includes euro)
  wxFONTENCODING_ISO8859_MAX,

  // Cyrillic charset soup (see http://czyborra.com/charsets/cyrillic.html)
  wxFONTENCODING_KOI8,            // KOI8 Russian
  wxFONTENCODING_KOI8_U,          // KOI8 Ukrainian
  wxFONTENCODING_ALTERNATIVE,     // same as MS-DOS CP866
  wxFONTENCODING_BULGARIAN,       // used under Linux in Bulgaria

  // what would we do without Microsoft? They have their own encodings
  // for DOS
  wxFONTENCODING_CP437,           // original MS-DOS codepage
  wxFONTENCODING_CP850,           // CP437 merged with Latin1
  wxFONTENCODING_CP852,           // CP437 merged with Latin2
  wxFONTENCODING_CP855,           // another cyrillic encoding
  wxFONTENCODING_CP866,           // and another one
  // and for Windows
  wxFONTENCODING_CP874,           // WinThai
  wxFONTENCODING_CP932,           // Japanese (shift-JIS)
  wxFONTENCODING_CP936,           // Chinese simplified (GB)
  wxFONTENCODING_CP949,           // Korean (Hangul charset)
  wxFONTENCODING_CP950,           // Chinese (traditional - Big5)
  wxFONTENCODING_CP1250,          // WinLatin2
  wxFONTENCODING_CP1251,          // WinCyrillic
  wxFONTENCODING_CP1252,          // WinLatin1
  wxFONTENCODING_CP1253,          // WinGreek (8859-7)
  wxFONTENCODING_CP1254,          // WinTurkish
  wxFONTENCODING_CP1255,          // WinHebrew
  wxFONTENCODING_CP1256,          // WinArabic
  wxFONTENCODING_CP1257,          // WinBaltic (same as Latin 7)
  wxFONTENCODING_CP12_MAX,

  wxFONTENCODING_UTF7,            // UTF-7 Unicode encoding
  wxFONTENCODING_UTF8,            // UTF-8 Unicode encoding
  wxFONTENCODING_EUC_JP,          // Extended Unix Codepage for Japanese
  wxFONTENCODING_UTF16BE,         // UTF-16 Big Endian Unicode encoding
  wxFONTENCODING_UTF16LE,         // UTF-16 Little Endian Unicode encoding
  wxFONTENCODING_UTF32BE,         // UTF-32 Big Endian Unicode encoding
  wxFONTENCODING_UTF32LE,         // UTF-32 Little Endian Unicode encoding

  wxFONTENCODING_MACROMAN,        // the standard mac encodings
  wxFONTENCODING_MACJAPANESE,
  wxFONTENCODING_MACCHINESETRAD,
  wxFONTENCODING_MACKOREAN,
  wxFONTENCODING_MACARABIC,
  wxFONTENCODING_MACHEBREW,
  wxFONTENCODING_MACGREEK,
  wxFONTENCODING_MACCYRILLIC,
  wxFONTENCODING_MACDEVANAGARI,
  wxFONTENCODING_MACGURMUKHI,
  wxFONTENCODING_MACGUJARATI,
  wxFONTENCODING_MACORIYA,
  wxFONTENCODING_MACBENGALI,
  wxFONTENCODING_MACTAMIL,
  wxFONTENCODING_MACTELUGU,
  wxFONTENCODING_MACKANNADA,
  wxFONTENCODING_MACMALAJALAM,
  wxFONTENCODING_MACSINHALESE,
  wxFONTENCODING_MACBURMESE,
  wxFONTENCODING_MACKHMER,
  wxFONTENCODING_MACTHAI,
  wxFONTENCODING_MACLAOTIAN,
  wxFONTENCODING_MACGEORGIAN,
  wxFONTENCODING_MACARMENIAN,
  wxFONTENCODING_MACCHINESESIMP,
  wxFONTENCODING_MACTIBETAN,
  wxFONTENCODING_MACMONGOLIAN,
  wxFONTENCODING_MACETHIOPIC,
  wxFONTENCODING_MACCENTRALEUR,
  wxFONTENCODING_MACVIATNAMESE,
  wxFONTENCODING_MACARABICEXT,
  wxFONTENCODING_MACSYMBOL,
  wxFONTENCODING_MACDINGBATS,
  wxFONTENCODING_MACTURKISH,
  wxFONTENCODING_MACCROATIAN,
  wxFONTENCODING_MACICELANDIC,
  wxFONTENCODING_MACROMANIAN,
  wxFONTENCODING_MACCELTIC,
  wxFONTENCODING_MACGAELIC,
  wxFONTENCODING_MACKEYBOARD,

  wxFONTENCODING_MAX,             // highest enumerated encoding value

  wxFONTENCODING_MACMIN = wxFONTENCODING_MACROMAN,
  wxFONTENCODING_MACMAX = wxFONTENCODING_MACKEYBOARD,

  // aliases for endian-dependent UTF encodings
  #ifdef WORDS_BIGENDIAN
  wxFONTENCODING_UTF16 = wxFONTENCODING_UTF16BE,  // native UTF-16
  wxFONTENCODING_UTF32 = wxFONTENCODING_UTF32BE,  // native UTF-32
  #else // WORDS_BIGENDIAN
  wxFONTENCODING_UTF16 = wxFONTENCODING_UTF16LE,  // native UTF-16
  wxFONTENCODING_UTF32 = wxFONTENCODING_UTF32LE,  // native UTF-32
  #endif // WORDS_BIGENDIAN

  // alias for the native Unicode encoding on this platform
  // (this is used by wxEncodingConverter and wxUTFFile only for now)
  #if SIZEOF_WCHAR_T == 2
  wxFONTENCODING_UNICODE = wxFONTENCODING_UTF16,
  #else // SIZEOF_WCHAR_T == 4
  wxFONTENCODING_UNICODE = wxFONTENCODING_UTF32,
  #endif

  // alternative names for Far Eastern encodings
  // Chinese
  wxFONTENCODING_GB2312 = wxFONTENCODING_CP936, // Simplified Chinese
  wxFONTENCODING_BIG5 = wxFONTENCODING_CP950,   // Traditional Chinese

  // Japanese (see http://zsigri.tripod.com/fontboard/cjk/jis.html)
  wxFONTENCODING_SHIFT_JIS = wxFONTENCODING_CP932 // Shift JIS
};

#endif // _WX_FONTENC_H_

